home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MACD 5
/
MACD 5.bin
/
workbench
/
libs
/
unixlib.lha
/
unix
/
intro.doc
next >
Wrap
Text File
|
1996-12-01
|
3KB
|
59 lines
A quick guide to programs compiled with the unix library
--------------------------------------------------------
If you are using programs compiled with my unix library, you should note
the following points:
a) The following environment variables are taken into account by the unix
library, and therefore by any program compiled with it:
USER - A user name for the sole Amiga user (default "user").
USERNAME - The full name of the sole Amiga user (default $USER).
HOME - A "home" directory (default "s:") for programs that want one.
Configuration files will probably end up here ...
SHELL - A program which behaves reasonably like a Unix shell (default
"bin:sh"). You should copy the sh executable there if you don't
have a Unix-like shell.
HOSTNAME - The name of your machine (default "amiga").
b) Command line parsing is a mixture of AmigaDOS and Unix conventions (this
explanation assumes familiarity with Unix terminology ...) :
- Arguments in single quotes (') are left as is.
- Within arguments in double quotes ("), * acts as an escape character.
Arguments cotaining wildcards are expanded into several arguments (note
that this is a different from the Unix behaviour). ' must be used to
escape wildcards (this is the standard AmigaDOS convention).
- Within unquoted arguments, \ acts as an escape character for wildcards,
spaces, etc. Arguments containing wildcards are expanded into several
arguments.
As an example, assume that uecho is an unix-like echo command compiled with
the unix library, and that the current directory contains one file, echo.c.
Then
uecho 'f*un\' "#?.c" "*.c" "\mad" \*.c \\ \n
displays
f*un\ echo.c .c \mad *.c \ n
c) Timezones. If you install the timezone information (provided with the
unix library), you must set your system clock to GMT. Otherwise the times
displayed or set by the unix library will be incorrect. To compensate, you
won't have to adjust your system clock for daylight savings time (the local
time calculated from GMT will always be correct).
d) Sockets. To use sockets you need AmiTCP and, assuming the include files are
in uinclude: and unix.lib in ulib:, should
- compile with AMITCP defined (DEF=AMITCP)
- add netinclude: AFTER uinclude: in the include search path
- have an #include <proto/socket.h> in your code
So the command to compile prog.c (containing socket calls) should be like
sc link DEF=AMITCP idir=uinclude: idir=netinclude: lib=ulib:unix.lib prog.c